home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Pier Shareware 1
/
Pier Shareware 1.iso
/
gap
/
gap_list.doc
next >
Wrap
Text File
|
1992-10-10
|
39KB
|
911 lines
GAP_LIST - The External File Lister for GAP
Copyright (c) 1992 RoboSoft Systems. All Rights Reserved.
GAP_LIST is an external program used to generate file
listings for GAP BBSs. It will allow you to easily and
quickly create file listings while you wait or in an event.
Why do you need a program such as this when GAPFILE can
already produce file listings? Well, to start with,
GAP_LIST was created with just one purpose in mind -- to
create file lists. It has been highly optimized for this
specific mission. GAP_LIST also generates all of the
requested listings with just a single pass through the
database. What this adds up to is speed and flexibility.
On my system I can generate condensed and enhanced listings
for the main board in about half the time it takes to do
just a condensed listing with GAPFILE.
GAP_LIST also lets you create listings for individual file
directories (registered version only). If your master lists
are anywhere near as big as mine, this can really help out
your users who don't want to spend an hour or more
downloading your whole file listing just to get the couple
subjects they're interested in.
GAP_LIST can create "raw" listings for use with transfer
protocols that can check uploads for duplicates. (HS/Link
has this capability.) GAP_LIST can also create color
bulletins showing how many files and bytes you have in each
subject, with totals for each area.
Finally, GAP_LIST will do all this right from the command
line using a configuration file you've set up ahead of time.
This means you can generate individual file lists for any or
all of your forums in a nightly event, and have the listings
separated almost any way you'd like. (GAPFILE can generate
listings from the command line, but can only do a single
type of listing without manual intervention.)
GAP_LIST comes in two versions, one for single-node boards
and one for multi-node boards. (The multi-node version is
available to registered users only.) You can use the
single-node version on multi-node boards, but you must be
sure that all nodes are inactive before running GAP_LIST.
The multi-node version allows you to generate file listings
while users are online and can be easily set up to run from
an event.
Disclaimer
----------
GAP_LIST is provided AS IS without any warranty, expressed
or implied, including, but not limited to, fitness for any
purpose. Use of GAP_LIST, and the consequences thereof, are
Page 1
GAP_LIST v1.1 10/10/92
entirely your risk. In no event will RoboSoft Systems be
liable for any damages whatsoever resulting from the use of
GAP_LIST.
Shareware
---------
GAP_LIST is a Shareware product. As such, it is made
available to the GAP sysop community for evaluation. Users
are licensed to operate this program on their computers for
the purpose of test and evaluation on a trial basis for 30
days. If GAP_LIST is used after the first 30 days,
registration with RoboSoft Systems is required.
Registration
------------
Registered users are those users who elect to pay for
GAP_LIST and register that payment with RoboSoft Systems.
By virtue of registration and payment for the program,
registered users are granted a license to continue to
utilize the program on their personal computer for as long
as they choose. This license authorizes use of the program
on any personal computer system the user may own or use so
long as the program is operated on only one computer system
at a time. Use on multiple systems simultaneously requires
multiple registrations.
The registration fee for GAP_LIST is $15. Please make
checks payable to:
RoboSoft Systems
P.O. Box 2221
Orange, CA 92669
The payment of this registration fee to RoboSoft Systems
entitles the user to full use of GAP_LIST for an unlimited
period of time. Registered users will receive a disk with
both single- and multi-node versions of GAP_LIST, a
registration key file that will unlock ALL the program
features, and some complementary support programs.
Updates
-------
Updates to GAP_LIST will be provided via BBS free of charge
to registered users. Updates on diskette are available for
a nominal charge to cover materials and handling.
Support
-------
Support for GAP_LIST is available on The Cookie Jar BBS at
714-997-0350. Registered users will be granted access to
the private node of the BBS and will be given priority in
Page 2
GAP_LIST v1.1 10/10/92
having their questions answered.
Distribution
------------
GAP_LIST may be freely distributed on any Bulletin Board
System (BBS), including commercial systems such as
CompuServe (CIS), Genie, and BIX. GAP_LIST may be
distributed by diskette by any organization or disk
distributor as long as the fee for this distribution is no
greater than $5 and it is made clear to the purchaser that
the distribution fee is NOT the same as the registration
fee.
Feel free to pass around copies of GAP_LIST, however, please
distribute all of the original files and do not modify any
of the files.
Enough with the BS, how do I use this thing?
--------------------------------------------
The command-line syntax for GAP_LIST is very simple. It
REQUIRES one parameter - the name of the controlling
configuration file.
GAP_LIST <configuration filename>
Example:
GAP_LIST C:\GAP\GAP_LIST.PRM
GAP_LIST will produce a listing of your GAP filebase
according to the specifications you provide in the
configuration file. This is where things get just a bit
trickier. GAP_LIST understands some very simple commands
that tell it which AREA/SUBJECT(s) to create listings for,
which listings to create, and where to put them.
There are several commands recognized by GAP_LIST: MAIN,
SEPARATOR, PRIVATE, MASTER, IGNORE, AREA, and SUBJECT. The
MAIN command tells GAP_LIST where your GAP\MAIN directory
is. The SEPARATOR command is used to indicate how you want
individual file entries in the enhanced listings separated
-- with blank space or with a printable separator line. The
PRIVATE command specifies the security level of private
files you don't want printed in the listings. The MASTER
command is used to specify the names of master files that
will contain listings for every area and subject covered
during this run of GAP_LIST. The IGNORE command is used to
indicate any files to be excluded from the new file scan.
The AREA command is used to indicate which forums you want
included in the listings and what listings you want
generated for that forum. The SUBJECT command gives you
control down to the individual subject over which files are
listed.
Page 3
GAP_LIST v1.1 10/10/92
Before we get into the details about each configuration
command, here's a brief sample configuration file for you to
refer to while reading the command descriptions.
MAIN i:\gap\main
SEPARATOR -
PRIVATE 110
MASTER RAW files.lst BULLETIN blt11
IGNORE @list.xcl
AREA 0 GEN i:\gap\gen CONDENSED main.lst ENHANCED main.enh
TITLE "The Cookie Jar Main Board"
SUBJECT CONDENSED dir%03i.lst
AREA 2 GEN i:\gap\windows\gen CONDENSED windows.lst
ENHANCED windows.enh
TITLE "The Cookie Jar Windows Forum"
AREA 3 GEN i:\gap\graphics\gen CONDENSED graphics.lst
ENHANCED graphics.enh
TITLE "The Cookie Jar Graphics Forum"
AREA 4 GEN i:\gap\program\gen CONDENSED program.lst
ENHANCED program.enh
TITLE "The Cookie Jar Programming Forum"
(The indented lines in the above example are continuations
of the previous line. Line wrapping of this sort is NOT
allowed in the actual configuration file. We were forced to
do it here because of the line length limitations of this
document.)
The MAIN Command
----------------
Command Format: MAIN <GAP\MAIN directory path>
The MAIN command is REQUIRED. It specifies the path to your
GAP\MAIN directory. It doesn't have to be the first thing
in the configuration file, but it MUST be present somewhere
in the file.
The SEPARATOR Command
---------------------
Command Format: SEPARATOR [<separator character>]
The SEPARATOR command (optional) specifies how GAP_LIST
should separate the individual file entries in the enhanced
listings. The first non-blank character following the
SEPARATOR keyword is used to create a separator line. The
command "SEPARATOR *" will cause a line of asterisks to be
printed between each entry in the enhanced listing. If the
configuration file does not contain a SEPARATOR command, a
line of graphical single horizontal line characters is used.
Something like:
───────────────────────────────────────────────────────────
If the SEPARATOR command is specified without a following
non-blank character, each entry in the enhanced listings
Page 4
GAP_LIST v1.1 10/10/92
will be separated by two blank lines. This behavior mimics
that of the enhanced listing created by the GAPFILE Master
Listing function.
The PRIVATE Command
-------------------
Command Format: PRIVATE <seclev>
The PRIVATE command (optional) specifies the security level
of private files that should not be included in the
listings. Any file with a security level greater than or
equal to the specified level will not be included in the
listings. If the PRIVATE command is not used, a default
private level of 110 will be used.
The MASTER Command
------------------
Command Format: MASTER [CONDENSED <filename>]
[ENHANCED <filename>] [RAW <filename>]
[BULLETIN <filename>]
The MASTER command (optional) is used to specify listing
files that will contain all files listed by GAP_LIST in all
AREAs and SUBJECTs. The MASTER command accepts several
sub-commands. All the sub-commands must be on the same line
as the MASTER command. There is no limit to the length of
the line. All the sub-commands and their associated
parameters must be separated by one or more spaces.
You may have more than one MASTER command in your
configuration file, but only the last occurrence of any
sub-command will have effect. For instance, if your
configuration file contained the following lines
MASTER ENHANCED master.enh CONDENSED master.lst
MASTER ENHANCED main.enh
the CONDENSED sub-command from the first MASTER command
would still be in effect, but the ENHANCED sub-command from
the second MASTER command will override the ENHANCED
sub-command in the first line.
CONDENSED Sub-Command (MASTER)
------------------------------
Sub-Command Format: CONDENSED <filename>
This is an optional sub-command that indicates you want a
condensed (one line per file) listing of all AREAs and
SUBJECTs specified in the configuration file. This is
essentially the same as specifying CONDENSED files for each
Page 5
GAP_LIST v1.1 10/10/92
AREA and then pasting all those files together. <filename>
indicates where you want the listing to go. <filename> may
be a relative (..\all.lst) or absolute
(c:\gap\filelist\all.lst) file specification. You must
specify a filename following the CONDENSED sub-command.
Example: MASTER CONDENSED c:\gap\filelist\all.lst
ENHANCED Sub-Command (MASTER)
-----------------------------
Sub-Command Format: ENHANCED <filename>
This is an optional sub-command that indicates you want an
enhanced (complete file information) listing of all AREAs
and SUBJECTs specified in the configuration file.
<filename> indicates where you want the listing to go.
<filename> may be a relative or absolute file specification.
You must specify a filename following the ENHANCED
sub-command.
Example: MASTER ENHANCED c:\gap\filelist\all.enh
RAW Sub-Command (MASTER)
------------------------
Sub-Command Format: RAW <filename>
This is an optional sub-command that indicates you want a
raw listing of all the filenames in the AREAs and SUBJECTs
specified in the configuration file. This is primarily for
use with protocols like HS/Link that can use such a file to
check for duplicates prior to accepting uploads. <filename>
indicates where you want to listing to go. <filename> may
be a relative or absolute file specification. You must
specify a filename following the RAW sub-command.
Note for those running a multi-node setup: If any of your
nodes are online while you're running GAP_LIST, be sure to
have GAP_LIST use a temporary file for the RAW listing and
then copy this temporary over the file normally accessed by
HS/Link. If you send the RAW listing output to the same
file used by HS/Link to check for duplicates, you'll get a
sharing violation if someone uploads with HS/Link while
you're running GAP_LIST.
The RAW sub-command can also be used with the AREA and
SUBJECT commands, but it will be most useful with the MASTER
command.
BULLETIN Sub-Command (MASTER)
-----------------------------
Sub-Command Format: BULLETIN <filename>
Page 6
GAP_LIST v1.1 10/10/92
This is an optional sub-command that indicates you want
GAP_LIST to create a summary bulletin listing the total
number of files and bytes in each AREA and SUBJECT specified
in the configuration file. The bulletin file is formatted
to 80 columns and uses ANSI color. A grand total of all
files listed is printed at the very bottom of the bulletin.
The total bytes is tracked and listed in K-bytes since it's
possible that some boards may have extremely large
filebases.
Example: MASTER BULLETIN c:\gap\gen\blt12
The IGNORE Command
-------------------
The IGNORE command (recognized by registered version only)
is used to specify any files that should not be considered
when determining the newest file in an area or subject. To
provide maximum execution speed, GAP_LIST will only generate
a listing for an area or subject if there are new files
present in that area or subject. (The demo version does not
include this feature. It will generate listings for all
requested areas/subjects whether there are new files or
not.) It compares the date of the existing listing file (if
one does exist) to the date of the most recent file in the
area/subject in question. If the listing file was generated
after the date of the most recent file, a new listing will
not be generated. This prevents GAP_LIST from reproducing
the same listing over and over for an area/subject that has
had no uploads.
The only catch is that if you update the filebase everytime
you run GAP_LIST, you'll always have at least one new file
(the newly generated listing file) the next time you run
GAP_LIST. By using the IGNORE command, you can tell
GAP_LIST to ignore your listing files when determining the
date of the newest file in an area/subject. So if the
listing file is the only new file in an area, a listing for
that area will not be generated.
The IGNORE command is interpreted slightly differently
depending on where it occurs in the configuration file. An
IGNORE command that occurs before the first AREA command
defines a list of files that will be ignored for the entire
filebase. An IGNORE command that occurs after an AREA
command defines a list of files that will be ignored only for
the area defined by the preceeding AREA command.
Command Format: IGNORE [@<filelist>] [<filename>]
The IGNORE command will accept any number of filenames. If
a filename is preceeded by a @, that filename will be
assumed to contain a list of filenames to be ignored, one
name per line. Any number of IGNORE commands can be
specified in the configuration file.
Note, the IGNORE command is used only when determining the
Page 7
GAP_LIST v1.1 10/10/92
newest file in an area. It does NOT control which files are
included if a listing is generated.
The AREA Command
----------------
The AREA command (at least one required) is used to specify
which area(s) (forums) you want listings for. The AREA
command requires one parameter, the area (forum) number, and
one sub-command, GEN. It also accepts several optional
sub-commands. All the sub-commands must be on the same line
as the AREA command. There is no limit to the length of the
line. All the sub-commands and their associated parameters
must be separated by one or more spaces.
Command Format: AREA <area #> GEN <GEN path>
[CONDENSED <filename>]
[ENHANCED <filename>]
[RAW <filename>]
[BULLETIN <filename>]
[TITLE "<area title>"]
The <area #> is the number of the forum to be listed. The
main board is area 0 (zero). You may have any number of
AREA commands in your configuration file, each on a separate
line.
GEN Sub-Command (AREA)
----------------------
Sub-Command Format: GEN <path to AREA GEN directory>
This is a REQUIRED sub-command that specifies the path to
the GAP GEN directory for this area. GAP_LIST uses the GEN
path to extract subject names from the GAP DIRS file and to
determine how many subjects there are in a given area. The
extracted subject names will be used in headers for the
subject listings.
Example: AREA 0 GEN c:\gap\gen
CONDENSED Sub-Command (AREA)
----------------------------
Sub-Command Format: CONDENSED <filename>
This is an optional sub-command that indicates you want a
condensed (one line per file) listing of the associated
area. <filename> indicates where you want the listing to
go. <filename> may be a relative or absolute file
specification. You must specify a filename following the
CONDENSED sub-command.
Example: AREA 0 GEN c:\gap\gen CONDENSED c:\gap\main.lst
Page 8
GAP_LIST v1.1 10/10/92
Files from all subjects in the specified area will be
included in the generated listings unless overridden by the
SUBJECT command. (See below for details on the SUBJECT
command.)
ENHANCED Sub-Command (AREA)
---------------------------
Sub-Command Format: ENHANCED <filename>
This is an optional sub-command that indicates you want an
enhanced (complete file information) listing of the
associated area. <filename> indicates where you want the
listing to go. <filename> may be a relative or absolute
file specification. You must specify a filename following
the ENHANCED sub-command.
Example: AREA 0 GEN c:\gap\gen ENHANCED c:\gap\main.enh
Files from all subjects in the specified area will be
included in the generated listings unless overridden by the
SUBJECT command. (See below for details on the SUBJECT
command.)
RAW Sub-Command (AREA)
----------------------
Sub-Command Format: RAW <filename>
This is an optional sub-command that indicates you want a
raw listing of all the filenames for this AREA. This is
primarily for use with protocols like HS/Link that can use
such a file to check for duplicates prior to accepting
uploads. <filename> indicates where you want to listing to
go. <filename> may be a relative or absolute file
specification. You must specify a filename following the
RAW sub-command.
Example: AREA 0 GEN c:\gap\gen RAW c:\gap\files.lst
Files from all subjects in the specified area will be
included in the generated listings unless overridden by the
SUBJECT command. (See below for details on the SUBJECT
command.)
BULLETIN Sub-Command (AREA)
---------------------------
Sub-Command Format: BULLETIN <filename>
This is an optional sub-command that indicates you want
GAP_LIST to create a summary bulletin listing the total
number of files and bytes in each SUBJECT in this AREA. The
bulletin file is formatted to 80 columns and uses ANSI
color. A grand total of all files in this area is printed
Page 9
GAP_LIST v1.1 10/10/92
at the very bottom of the bulletin.
Example: AREA 0 GEN c:\gap\gen BULLETIN c:\gap\gen\blt11
TITLE Sub-Command (AREA)
------------------------
Sub-Command Format: TITLE "<area title>"
This is an optional sub-command that specifies a title for
the area. This title will be printed in a double-line box
at the top of the listings for this area. If no TITLE
sub-command is used, a generic title will be generated. The
TITLE specified MUST be enclosed in quotes ("").
Example: AREA 0 GEN c:\gap\gen TITLE "Main Board"
The SUBJECT Command
-------------------
The SUBJECT command (registered version only) is used to
override the inclusion of all subjects in an area or to
specify a filename template for individual subject listings.
If one of more SUBJECT commands which include a subject
number follow an AREA command, ONLY the subjects specified
by these commands will be included in the listings.
The SUBJECT command can also be used to specify a filename
template for individual subject listings. A SUBJECT command
that does not include a subject number specifies a template
and will not override the inclusion of all subjects for a
given area.
The SUBJECT command accepts several sub-commands. All the
sub-commands must be on the same line as the SUBJECT
command. There is no limit to the length of the line. All
the sub-commands and their associated parameters must be
separated by one or more spaces.
Command Format: SUBJECT [<subject #>]
[CONDENSED <filename>]
[ENHANCED <filename>]
[RAW <filename>]
The optional <subject #> is the number of a subject
(directory) you want included with the listing for the
associated AREA. Specifying a <subject #> with the SUBJECT
command will override the inclusion of all subjects in the
associated area. All SUBJECT commands are associated with
the preceding AREA command. You may have any number of
SUBJECT commands after an AREA command. There may be only
one SUBJECT command on a line in the configuration file.
Example: SUBJECT 1
Page 10
GAP_LIST v1.1 10/10/92
CONDENSED Sub-Command (SUBJECT)
-------------------------------
Sub-Command Format: CONDENSED <filename>
This is an optional sub-command that indicates you want a
condensed (one line per file) listing of the associated
subject. <filename> indicates where you want the listing to
go. <filename> may be a relative (..\main.lst) or absolute
(c:\gap\filelist\main.lst) file specification. You must
specify a filename following the CONDENSED sub-command.
Example: SUBJECT 1 CONDENSED c:\gap\dir1.lst
This SUBJECT command will override the inclusion of all
subjects in the associated AREA. With this type of SUBJECT
command you must include a SUBJECT command for each subject
desired.
Example: SUBJECT CONDENSED c:\gap\dir%03i.lst
This SUBJECT command specifies a filename template for
individual subject listings. It does NOT override the
inclusion of all subjects in the associated AREA. GAP_LIST
will use the specified file path/name as a template for the
individual subject listings.
This template is in C printf format. (If you aren't
familiar with this format, here's a brief explanation. The
'%' sign indicates the beginning of a substitutable portion
of the string. The '03' indicates that the substitutable
part is 3 characters long and should be padded on the left
with leading zeros. The 'i' indicates the substitutable
parameter, in this case the subject number, is an integer.)
You can use any pattern you want for the filename, but be
sure the resulting filename will be legal. GAP_LIST does no
error checking on the result and you may get very strange
results if your template doesn't generate a legal filename.
The example above, c:\gap\dir%03i.lst, will generate files
DIR001.LST, DIR002.LST, DIR003.LST, etc. in the C:\GAP
directory. The template dir.%03i would generate files
DIR.001, DIR.002, DIR.003, etc.
The SUBJECT CONDENSED listing is completely independent of
the AREA CONDENSED listing. You may generate either or both
on any given run of GAP_LIST.
ENHANCED Sub-Command (SUBJECT)
------------------------------
Sub-Command Format: ENHANCED <filename>
This is an optional sub-command that indicates you want an
enhanced (complete file information) listing of the
associated subject. <filename> indicates where you want the
Page 11
GAP_LIST v1.1 10/10/92
listing to go. <filename> may be a relative or absolute
file specification. You must specify a filename following
the ENHANCED sub-command.
Example: SUBJECT 1 ENHANCED c:\gap\dir1.enh
This SUBJECT command will override the inclusion of all
subjects in the associated AREA. With this type of SUBJECT
command you must include a SUBJECT command for each subject
desired.
Example: SUBJECT ENHANCED c:\gap\dir%03i.enh
This SUBJECT command specifies a filename template for
individual subject listings. It does NOT override the
inclusion of all subjects in the associated AREA. GAP_LIST
will use the specified file path/name as a template for the
individual subject listings. See the SUBJECT CONDENSED
Sub-command for an explanation of the template format.
The SUBJECT ENHANCED listing is completely independent of
the AREA ENHANCED listing (or any of the CONDENSED
listings). You may generate either or both (or all) on any
given run of GAP_LIST.
RAW Sub-Command (AREA)
----------------------
Sub-Command Format: RAW <filename>
This is an optional sub-command that indicates you want a
raw listing of all the filenames in this SUBJECT. This is
primarily for use with protocols like HS/Link that can use
such a file to check for duplicates prior to accepting
uploads. <filename> indicates where you want to listing to
go. <filename> may be a relative or absolute file
specification. You must specify a filename following the
RAW sub-command.
The RAW sub-command follows the same general format as the
SUBJECT CONDENSED and SUBJECT ENHANCED sub-commands. If the
SUBJECT command contains a subject number it will override
the inclusion of all subjects in the associated area. If
the SUBJECT command does not include a subject number, the
RAW filename will be used as a template to generate raw
listing filenames for each subject in the associated area.
How about some real world examples?
-----------------------------------
Let's take my GAP board as an example. I have files in my
main board and in the Windows Forum (forum #2), the Graphics
Forum (forum #3), and the Programming Forum (forum #4).
I want to generate condensed and enhanced listings for all
Page 12
GAP_LIST v1.1 10/10/92
the subjects in the main board, the Windows forum, and the
graphics forum. I want individual condensed listings for
each of the subject in the main board. I want listings for
the programming forum, but only for subjects 1 and 2. I also
want to generate a raw listing of all these files for use
with the HS/Link batch upload checker. Here's a GAP_LIST
configuration file that will do this. (NOTE: In the
following example some of the command lines would not fit
within the margins of this document so they have been split
onto multiple lines. This is not allowed in an actual
GAP_LIST parameter file. The wrapped parts of the command
lines are indented and have an asterisk (*) in the first
column.)
MAIN i:\gap\main
PRIVATE 110
SEPARATOR -
IGNORE main_lst.zip main_enh.zip win_lst.zip win_enh.zip
IGNORE grph_lst.zip grph_enh.zip prgm_lst.zip prgm_enh.zip
IGNORE dir001.zip dir002.zip dir003.zip dir004.zip
IGNORE dir005.zip dir006.zip dir007.zip dir008.zip
IGNORE dir009.zip dir010.zip dir011.zip dir012.zip
MASTER RAW c:\gap\files\files.lst
AREA 0 CONDENSED main.lst ENHANCED main.enh GEN gen
* TITLE "The Cookie Jar Main Board Files"
SUBJECT CONDENSED dir%03i.lst
AREA 2 CONDENSED windows.lst ENHANCED windows.enh
* TITLE "The Cookie Jar Windows Forum"
* GEN c:\gap\windows\gen
AREA 3 CONDENSED graphics.lst ENHANCED graphics.enh
* TITLE "The Cookie Jar Graphics Forum"
* GEN c:\gap\graphics\gen
AREA 4 CONDENSED program.lst ENHANCED program.enh
* TITLE "The Cookie Jar Programming Forum"
* GEN c:\gap\program\gen
SUBJECT 1
SUBJECT 2
Limitations
-----------
When configured to generate the maximum number of listings,
GAP_LIST opens a lot of files at the same time. If you
start getting "Can't open file" messages, be sure you have
your FILES= in your CONFIG.SYS set to at least 30.
(FILES=30)
The demo version of GAP_LIST has the following limitations:
1) Single-node operation only. Do NOT attempt to run
the demo version on a multi-node system when any of
the nodes are active!
2) No individual subject listings.
3) All listings will be generated everytime the program
is run. Only the registered version contains the
ability to generate a listing only if there are new
files in an area/subject.
Page 13
GAP_LIST v1.1 10/10/92
4) Listings will be marked as having been generated by an
unregistered copy of GAP_LIST.
Page 14